﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IDirectoryManager.cs" company="GT">
//   Gunther Taborga
// </copyright>
// <summary>
//   Defines the IDirectoryManager type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace BatchID3.FileSystem.Directory
{
    using System.Collections.Generic;
    using System.IO;

    public interface IDirectoryManager
    {
        void CreateDirectory(string path);

        void DeleteDirectory(string path, bool recursive);

        bool DirectoryExists(string path);

        IEnumerable<string> GetDirectories(string path); 

        IEnumerable<string> GetDirectories(string path, string searchPattern, SearchOption searchOption = SearchOption.TopDirectoryOnly);

        IEnumerable<string> GetFiles(string path, string searchPattern, SearchOption searchOption = SearchOption.TopDirectoryOnly);

        DirectoryInfo GetParent(string path);
    }
}